# WHAT TO DO (install fresh system rather than upgrade)
install

# INSTALLATION SOURCE (centos repository)
url --url=$tree

# ALTERNATIVE REPOSITORIES
<% ks_repo.each do |repo| %>
repo --name=<%= repo['name'] %> --baseurl=<%= repo['url'] %>
<% end %>

# KEYBOARD AND LANGUAGE CUSTOMIZATION
lang en_US.UTF-8
keyboard us

# WHICH TIMEZONE TO USE ON INSTALLED SYSTEM
timezone --utc <%= ks_system_timezone %>

# REBOOT AFTER INSTALLATION 
reboot

network --onboot yes --device eth0 --bootproto=dhcp
firewall --disable

# SET ROOT PASSWORD DEFAULT IS r00tme
rootpw --iscrypted <%= ks_encrypted_root_password %>

# AUTHENTICATION CUSTOMIZATION
authconfig --enableshadow --passalgo=sha512

# DISABLE SELINUX ON INSTALLED SYSTEM
selinux --disabled

# INSTALL IN TEXT MODE
text

# SKIP CONFIGURING X
skipx

# BOOTLOADER CUSTOMIZATION
# INSTALL BOOTLOADER INTO MASTER BOOT RECORD
# --location=mbr
# WHICH ORDER OF DRIVES TO USE DURING TRYING TO INSTALL BOOTLOADER 
# --driveorder=sda,hda
# APPEND STRING TO KERNEL BOOT COMMAND
# --append=""
bootloader --location=mbr --driveorder=sda,hda --append=" crashkernel=auto"

# PARTITIONING
# CLEAN ANY INVALID PARTITION TABLE
zerombr

# REMOVE ALL PARTITIONS BEFORE CREATING NEW ONES
clearpart --all --initlabel

# AUTOMATICALLY CREATE / /boot AND swap PARTITIONS
autopart

# COBBLER EMBEDDED SNIPPET: 'network_config'
# CONFIGURES NETWORK INTERFACES DEPENDING ON 
# COBBLER SYSTEM PARAMETERS
$SNIPPET('network_config')

# PREINSTALL SECTION
# HERE ARE COMMANDS THAT WILL BE LAUNCHED BEFORE
# INSTALLATION PROCESS ITSELF
%pre

# COBBLER EMBEDDED SNIPPET: 'log_ks_pre'
# CONFIGURES %pre LOGGING 
$SNIPPET('log_ks_pre')

# COBBLER EMBEDDED SNIPPET: 'kickstart_start'
# LAUNCHES %pre TRIGGERS IF THOSE INSTALLED
$SNIPPET('kickstart_start')

# COBBLER EMBEDDED SNIPPET: 'pre_install_network_config'
# PRECONFIGURES NETWORK INTERFACES DEPENDING ON 
# COBBLER SYSTEM PARAMETERS
# IN PARTICULAR IT WRITES KICKSTART NETWORK CONFIGURATION 
# INTO /tmp/pre_install_network_config WHICH IS INCLUDED
# INTO KICKSTART BY 'network_config' SNIPPET
$SNIPPET('pre_install_network_config')


# PACKAGES SECTION
# HERE ARE LIST OF PACKAGES THAT WILL BE INSTALLED
# FIXME --ignoremissing
%packages --nobase --ignoremissing 
yum
openssh-server
openssh
openssh-clients
curl
wget
crontabs
cronie
ruby-augeas
authconfig
system-config-firewall-base
policycoreutils
selinux-policy-targeted
# COBBLER EMBEDDED SNIPPET: 'puppet_install_if_enabled'
# LISTS puppet PACKAGE IF puppet_auto_setup VARIABLE IS SET TO 1
$SNIPPET('puppet_install_if_enabled')

# COBBLER EMBEDDED SNIPPET: 'mcollective_install_if_enabled'
# LISTS mcollective PACKAGE IF mcollective_auto_setup VARIABLE IS SET TO 1
$SNIPPET('mcollective_install_if_enabled')

# POSTINSTALL SECTION
# HERE ARE COMMANDS THAT WILL BE LAUNCHED JUST AFTER 
# INSTALLATION ITSELF COMPLETED
%post

# COBBLER EMBEDDED SNIPPET: 'log_ks_post'
# CONFIGURES %post LOGGING 
$SNIPPET('log_ks_post')

# COBBLER EMBEDDED SNIPPET: 'post_install_kernel_options'
# CONFIGURES KERNEL PARAMETERS ON INSTALLED SYSTEM
$SNIPPET('post_install_kernel_options')

# COBBLER EMBEDDED SNIPPET: 'post_install_network_config'
# CONFIGURES NETWORK INTERFACES DEPENDING ON 
# COBBLER SYSTEM PARAMETERS
$SNIPPET('post_install_network_config_fuel')

# COBBLER EMBEDDED SNIPPET: 'puppet_conf'
# CONFIGURES PUPPET AGENT
$SNIPPET('puppet_conf')

# COBBLER EMBEDDED SNIPPET: 'puppet_register_if_enabled'
# CREATES CERTIFICATE REQUEST AND SENDS IT TO PUPPET MASTER
$SNIPPET('puppet_register_if_enabled_fuel')

# COBBLER EMBEDDED SNIPPET: 'mcollective_conf'
# CONFIGURES MCOLLECTIVE AGENT
$SNIPPET('mcollective_conf')

# COBBLER EMBEDDED SNIPPET: 'kickstart_done'
# DISABLES PXE BOOTING
$SNIPPET('kickstart_done')

%end
